-
Notifications
You must be signed in to change notification settings - Fork 791
[CI] Remove dependency on bot user for uploading benchmark CI results #20333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: sycl
Are you sure you want to change the base?
Conversation
echo "PRESET=$PRESET" >> $GITHUB_ENV | ||
# Set branch containing benchmark CI results: | ||
echo "BENCHMARK_RESULTS_BRANCH=sycl-benchmark-ci-results" >> $GITHUB_ENV |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
perhaps just set it as an env
(in the job scope, or top-level)...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there another way to set an env
variable? I thought this is how you do it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The way you did it I usually use when I want to dynamically set something within the workflow.
If more of a static var is required, I usually use:
env:
BUILD_DIR : "${{github.workspace}}/build"
INSTALL_DIR: "${{github.workspace}}/build/install"
e.g. in UMF workflow:
https://github.com/oneapi-src/unified-memory-framework/blob/main/.github/workflows/nightly.yml#L14-L16
it will work in both "job" and "global" scope
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this defining the env variables for a single step only? i.e. variables defined this way do not propagate across steps
I use the variable again in actions/checkout call here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as I mentioned, you can set it up in "job" and/or "global" scope - see my example above set up for global scope
I think, setting it up for step scope is only possible if you use with
clause (e.g. for running reusable workflow or an action)
# Update benchmarking dashboard configuration | ||
cat << EOF > benchmarks/config.js | ||
remoteDataUrl = 'https://raw.githubusercontent.com/intel/llvm-ci-perf-results/refs/heads/unify-ci/'; | ||
remoteDataUrl = 'https://raw.githubusercontent.com/intel/llvm/refs/heads/sycl-benchmark-ci-results/'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
my note on this change - while it seems convenient, I can see on my PC, that repo intel/llvm-ci-perf-results
is ~600MB - this will be extra MBs added to intel/llvm
repo, which is already quite big - just to consider
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ianayl would it be possible to compress the benchmarking data before pushing it to intel/llvm ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In theory yes, but only the archived data. I think we'll need to have a conversation on this: it might even be reasonable to delete horribly outdated data.
We could also try moving archived data to intel/llvm-ci-perf-results, but alas that'll mean we need to keep an updated bot user token again for the repository.
Do github repositories have a max storage quota?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do github repositories have a max storage quota?
we'll need to have a conversation on this
I think we should have that conversation before merging this PR. Currently, the size of intel/llvm-ci-perf-results
is ~600MB, but, if unchecked the size will increase further.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In theory yes, but only the archived data. I think we'll need to have a conversation on this: it might even be reasonable to delete horribly outdated data.
Compressing results
files gives ~190MB out of 320M, so I think it is better to just remove outdated data. We have data starting at March'25.
How many months of data do wee need to keep. 6? In this case we will have data staring from 15th April today. The rest will be in git history, hopefully well compressed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could also try moving archived data to intel/llvm-ci-perf-results, but alas that'll mean we need to keep an updated bot user token again for the repository.
If we go this way, we can archive e.g. once every second week, or something, and make a PR instead of pushing
This PR:
benchmark-ci-tests
branch instead of intel/llvm-ci-perf-resultsTest run: https://github.com/intel/llvm/actions/runs/18386952310/job/52388325821 (job failed due to "regression"; issue should be addressed with the merge of #20277